package com.mhb.generator.config.interfaces;

import com.mhb.generator.config.GlobalConfig;
import com.mhb.generator.config.po.TableField;
import com.mhb.generator.config.rules.IColumnType;

/**
 * @author 博博
 * @Title: TypeConvertInterface
 * @time 2019/12/27 0027 11:26
 */
public interface TypeConvertInterface {

    /**
     * 执行类型转换
     *
     * @param globalConfig 全局配置
     * @param tableField   字段列信息
     * @return ignore
     */
    default IColumnType processTypeConvert(GlobalConfig globalConfig, TableField tableField) {
        // 该方法提供重写
        return processTypeConvert(globalConfig, tableField.getType());
    }


    /**
     * 执行类型转换
     *
     * @param globalConfig 全局配置
     * @param fieldType    字段类型
     * @return ignore
     */
    IColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType);
}
